import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
    modules: {},
    state: {
        load: false,
        // 导航栏是否显示
        isShowFooter: true,
        // 当前歌曲的id
        nowid: 0,
        // 当前歌曲的状态
        nowstate: false,
        // 当前歌曲的总时长
        alltime: 0,
        // 当前歌曲的播放时长 
        nowtime: 0,
        // listmoshi:0.循环播放，1单曲循环，2.随机播放
        listmoshi: 0,
        // listwhich:播放当前歌单的哪首歌 
        listwhich: 0,
        // listwhat:当前播放哪个歌单 0:list1，1:list2
        listwhat: 0,
        // list1:歌单列表，
        list1: [],
        // list2:历史播放列表
        list2: [],
        // 是否可用
        ok: true,
        // 是否正在改变进度条
        change: false,
        // 是否第一次播放歌曲（是的话就不在没有mynav里面进行改变）
        changenum: 0,
    },
    mutations: {
        // 改id
        changesongid(state, value) {
            state.nowid = value
                // console.log("nowid", value)
        },
        changesongstate(state, value) {
            state.nowstate = value
                // console.log("nowstate", value)
        },
        changelistwhich(state, value) {
            state.listwhich = value
                // console.log("listwhich", value)
        },
        changelistmoshi(state, value) {
            state.listmoshi = value
                // console.log("listmoshi", value)
        },
        changelistwhat(state, value) {
            state.listwhat = value
                // console.log("listwhat", value)
        },
        changelist1(state, value) {
            state.list1 = value
                // console.log("changelist1,设置成功")
        },
        changelist2(state, value) {
            state.list2 = value
                // console.log("changelist2,乱序成功")
        },
        pushlist2(state, value) {
            // 历史歌单的去重和push
            // 当当前历史歌单的数量为1个或以上的话，进行去重处理
            if (state.list2.length > 1) {
                let arr = []
                for (let i = 0; i < state.list2.length; i++) {
                    if (value.id == state.list2[i].id) {

                    } else {
                        arr.push(state.list2[i])
                    }
                }
                state.list2 = arr
            }
            state.list2.unshift(value)
                // console.log("list2添加成功", state.list2)
        },
        changealltime(state, value) {
            state.alltime = value
                // console.log("alltime", value)
        },
        changenowtime(state, value) {
            state.nowtime = value
                // console.log("nowtime", value)
        },
        changechange(state, value) {
            state.change = value
        },
        changechangenum(state, value) {
            state.changenum = value
        },

    },
    actions: {
        setlist1(content, value) {
            content.commit("changelist1", value)
        },
        setlist2(content, value) {
            content.commit("pushlist2", value)
        },
    },
})